."   Copyright (c) 2007 DUDOUET Clément.
."  Permission is granted to copy, distribute and/or modify this document
."  under the terms of the GNU Free Documentation License, Version 1.2
."  or any later version published by the Free Software Foundation;
."  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
."  Texts.  A copy of the license is included in the project in directory
."  [$PROJECT_PATH]/doc/fdl.txt
." Page de manuel de filoo_create
.TH filoo_create 2 "11 fevrier 2007" "version 1.0" "Manuel d'utilisation"
filoo_create \- Création immédiate d'un fichier circulaire de taille fixée
.SH SYNOPSIS
.nf
.B #include <unistd.h>
.sp
.BI "int filoo_create(const char *" pathname ", unsigned long " size ", int  " mode ");
.SH DESCRIPTION
L'appel système
.BR filoo_create()
sert a créer un fichier circulaire filoo de chemin
.I pathname
et a convertir ce chemin d'accès en descripteur de fichier.
Le nouveau descripteur de fichier est configuré pour rester ouvert au travers des fonctions exec (voir
.BR fntl (2)).
Le pointeur de position dans le fichier est placé au début de celui-ci.
.sp
La création est immédiate. C'est a dire que, lors de cet appel, le ficher est créé et rempli de zéros afin qu'il atteigne la taille désirée.

Le paramètre
.I size
est un entier strictement supérieur a zéro décrivant la taille du fichier (en kilo octets) circulaire
.B filoo
a créer. Afin que le fichier circulaire soit stocké sur un nombre de pages entier, on arrondira ce paramètre au multiple de 4ko le plus proche. Cette taille restera constante tout au long de la vie de ce fichier.

Le paramètre
.I mode
indique les permissions a utiliser si un nouveau fichier est créé.
Cette valeur est modifiée par le
.BR umask
du processus\ : la véritable valeur utilisée est
.BR "(mode & ~umask)" .
Notez que ce mode ne s'applique qu'aux accès ultérieurs du fichier
nouvellement créé. L'appel
.B open
qui crée un fichier dont le mode est en lecture seule fournira quand même
un descripteur de fichier en lecture et écriture.
.PP
Les constantes symboliques suivantes sont disponibles pour
.IR mode \ :
.TP
.B S_IRWXU
00700 L'utilisateur (propriétaire du fichier) a les
autorisations de lecture, écriture, exécution.
.TP
.B S_IRUSR (S_IREAD)
00400 L'utilisateur a l'autorisation de lecture.
.TP
.B ...
cf.
.BR open(2).
.SH "VALEUR RENVOYEE"
.BR filoo_create
renvoie le nouveau descripteur de fichier si la création a réussi ou \-1 si elle a échoué, auauquel cas
.I errno
contient le code d'erreur.
.SH ERREURS
.TP
.B EBADSIZE
.I size
passé en argument est invalide.
.TP
.B ENOSPC
.I pathname
devrait être créé mais le périphérique concerné n'a plus assez de
place pour un nouveau fichier.
.TP
.B ETOOBIG
.I pathname
devrait être créé, le périphérique concerné a assez de place pour la création d'un fichier, mais pas assez pour la taille de fichier désirée.
.TP
.B EEXIST
.I pathname
existe déja
.TP
.B ...
cf.
.BR open(2)
.SH "VOIR AUSSI"
.BR filoo_open "(2),"
.BR filoo_close "(2),"
.BR filoo_read "(2),"
.BR filoo_write "(2)"
.SH AUTEUR
Clément DUDOUET
.SH DISPONIBILITE
Le projet est disponible a cette adresse :
.TP
.B http://code.google.com/p/filoo
.TP
Et par l'intermédiaire de SVN en utilisant la commande :
.TP
.B svn checkout http://filoo.googlecode.com/svn/trunk/ filoo
